MySQL-SQL结构化查询语言

本文详细介绍了SQL的五大组成部分:数据定义语言(DDL)、数据操纵语言(DML)、事务控制语言(TCL)、数据查询语言(DQL)和数据控制语言(DCL),包括各种子句和操作,如约束条件、DML操作、事务处理、查询语句、分组查询、关联查询等,是学习SQL的基础教程。
摘要由CSDN通过智能技术生成

目录

结构化查询语言

1、数据定义语言(DDL)

约束条件Constraint

2、数据操纵语言(DML)

3、事物控制语言(TCL)

4、数据查询语言(DQL)

(1)select/for 基本查询语句

(2)给列起别名

(3)where子句

(4)order by子句(排序)

(5)distinct 去重

(6)group by子句(分组查询)

(7)having子句(分组查询添加条件)

(8)基本查询总结

(9)关联查询       

(10)高级关联查询

5、数据控制语言(DCL)


结构化查询语言

结构化查询语言(Structured Query Language),简称SQL,是数据库的标准查询语言。可以通过DBMS对数据库进行定义数据,操纵数据,查询数据,数据控制等

SQL可以分为:

1、数据定义语言(DDL)

       Data dafinitaon Language
       如创建表create
       删除表drop
       修改表alter
       清空表truncate,彻底清空,无法找回。

查看所有数据库:show databases;
查看所有表:show tables;
modify
删除数据库   drop database db1802;
创建数据库   create database abc default character set utf8;
选择数据库   use abc;                 
创建表       create table p1(id int(3),name varchar(20));
查看表       desc p1
插入数据     nsert into p1 values(1,'张三');
添加表字段语句   alter table p1 add(age int(3));
删除表字段语句   alter table p1 drop id;
修改表字段类型格式   alter table p1 modify age varchar(2);
修改表字段名称   alter table p1 change age p1age int(3);
修改表名      alter table p1 rename per;
清空表结构   truncate table per;
删除表结构   drop table per;

修改命令提示符界面显示编码集:set names GBK

约束条件Constraint

     对插入表中字段的数据起到一定的条件限制。

  1. 主键约束:primary key 要求作为主键的字段的字段值非空且唯一,一张表中只能有一个主键,但一个主键中可以有多个字段  AUTO_INCREMENT自增。
  2. 非空约束: not null  要求有非空约束的字段不可为null值
  3. 唯一性约束:unique  要求有唯一性约束的字段不可以重复,但是可以为null.
  4. 检查性约束:check(条件)--- check(gender in('f','m'))   要求在插入数据时必须符合字段的检查条件,可以为null
  5. 外键约束: foreign key   要求有外键约束的字段A必须依赖于另外一个字段B,字段B要有主键约束。字段A的值,要么是null,要么                                        必须是字段B里的值。

序列: 作用用来给作为主键约束的字段进行有序的自增。auto_increment  默认序列是从1开始,每次自增+1;

create table t_01
(tid int primary key auto_increment,   --主键约束,不能重复,不能为空,自增
tname varchar(20) not null, --非空约束
IdCard varchar(20) unique,  --唯一性约束
gender enum('男','女'),  --检查性约束
mgr int,                             
foreign key(mgr) references t_01(tid) --外键约束,被约束的字段存放的数据要么是null,要么是主键中有的
);

2、数据操纵语言(DML)

     insert:向表中插入数据
     delete:删除表中的数据,格式:delete from tableName [where 条件]
     update:修改表中的数据  格式:update tableName set colName1=value1[,colName2=value2] [where 条件]

     where 条件:  对表中的数据增加条件进行限制,起到过滤的作用。

               格式:  where  colName 关系运算符 value [or|and 条件2]

               关系运算符: >,>=,<,<=,  等于:=,不等于:!= 或 <>

     null值操作:比较null时,不能使用=或者!= 或者<>,而是使用 is或者is not,在select子句中,使用关系运算符

练习

--创建一个表
create table temp_day02(
tid int,
tname varchar(20),
birth date,
address varchar(50)
);
--================================================================================

--插入数据  1001,'jack' ,'上海' ,下面是两种插入方式,第二种可以批量插入。只需添加多个用逗号隔开即可
insert into temp_t02 values (1001,'jack',null,'上海');
insert into temp_t02(tid,tname,address) values(1002,'rose','beijing');
--==============================================================
  • 18
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值